package cn.witsky.cdrService.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import cn.witsky.cdrService.util.StringUtil;

@Component
@ConfigurationProperties(prefix="asn.mocall")
public class AsnMoCallConfig {
	private String recordType;
	private String servedIMSI;
//	private String servedMSISDN;
//	private String callingNumber;
//	private String calledNumber;
	private String recordingEntity;
	private String mscIncomingROUTE;
	private String mscOutgoingROUTE;
	private String location;
	private String basicService;
	private String msClassmark;
//	private String setupTime;
	private String seizureTime;
//	private String alertingTime;
//	private String answerTime;
//	private String releaseTime;
//	private String callDuration;
	private String radioChanRequested;
	private String radioChanUsed;
	private String causeForTerm;
	private String diagnostics;
//	private String callReference;
	private String additionalChgInfo;
	private String networkCallReference;
	private String mSCAddress;
	private String speechVersionSupported;
	private String speechVersionUsed;
	private String systemType;
	private String chargedParty;
	private String orgRNCorBSCId;
	private String orgMSCId;
	private String globalAreaID;
	private String subscriberCategory;
	private String firstmccmnc;
	private String bCategory;
	private String callType;
	public String getRecordType() {
		return recordType;
	}
	public void setRecordType(String recordType) {
		this.recordType = recordType;
	}
	public String getServedIMSI() {
		return servedIMSI;
	}
	public void setServedIMSI(String servedIMSI) {
		this.servedIMSI = servedIMSI;
	}
	public String getRecordingEntity() {
		return recordingEntity;
	}
	public void setRecordingEntity(String recordingEntity) {
		this.recordingEntity = recordingEntity;
	}
	public String getMscIncomingROUTE() {
		return mscIncomingROUTE;
	}
	public void setMscIncomingROUTE(String mscIncomingROUTE) {
		this.mscIncomingROUTE = mscIncomingROUTE;
	}
	public String getMscOutgoingROUTE() {
		return mscOutgoingROUTE;
	}
	public void setMscOutgoingROUTE(String mscOutgoingROUTE) {
		this.mscOutgoingROUTE = mscOutgoingROUTE;
	}
	public String getLocation() {
		return location;
	}
	public void setLocation(String location) {
		this.location = location;
	}
	public String getBasicService() {
		return basicService;
	}
	public void setBasicService(String basicService) {
		this.basicService = basicService;
	}
	public String getMsClassmark() {
		return msClassmark;
	}
	public void setMsClassmark(String msClassmark) {
		this.msClassmark = msClassmark;
	}

	public String getSeizureTime() {
		return seizureTime;
	}
	public void setSeizureTime(String seizureTime) {
		this.seizureTime = seizureTime;
	}
	public String getRadioChanRequested() {
		return radioChanRequested;
	}
	public void setRadioChanRequested(String radioChanRequested) {
		this.radioChanRequested = radioChanRequested;
	}
	public String getRadioChanUsed() {
		return radioChanUsed;
	}
	public void setRadioChanUsed(String radioChanUsed) {
		this.radioChanUsed = radioChanUsed;
	}
		
	public String getCauseForTerm() {
		return causeForTerm;
	}
	public void setCauseForTerm(String causeForTerm) {
		this.causeForTerm = causeForTerm;
	}
	public String getDiagnostics() {
		return diagnostics;
	}
	public void setDiagnostics(String diagnostics) {
		this.diagnostics = diagnostics;
	}

	public String getAdditionalChgInfo() {
		return additionalChgInfo;
	}
	public void setAdditionalChgInfo(String additionalChgInfo) {
		this.additionalChgInfo = additionalChgInfo;
	}
	public String getNetworkCallReference() {
		return networkCallReference;
	}
	public void setNetworkCallReference(String networkCallReference) {
		this.networkCallReference = networkCallReference;
	}
	public String getmSCAddress() {
		return mSCAddress;
	}
	public void setmSCAddress(String mSCAddress) {
		this.mSCAddress = mSCAddress;
	}
	public String getSpeechVersionSupported() {
		return speechVersionSupported;
	}
	public void setSpeechVersionSupported(String speechVersionSupported) {
		this.speechVersionSupported = speechVersionSupported;
	}
	public String getSpeechVersionUsed() {
		return speechVersionUsed;
	}
	public void setSpeechVersionUsed(String speechVersionUsed) {
		this.speechVersionUsed = speechVersionUsed;
	}
	public String getSystemType() {
		return systemType;
	}
	public void setSystemType(String systemType) {
		this.systemType = systemType;
	}
	public String getChargedParty() {
		return chargedParty;
	}
	public void setChargedParty(String chargedParty) {
		this.chargedParty = chargedParty;
	}
	public String getOrgRNCorBSCId() {
		return orgRNCorBSCId;
	}
	public void setOrgRNCorBSCId(String orgRNCorBSCId) {
		this.orgRNCorBSCId = orgRNCorBSCId;
	}
	public String getOrgMSCId() {
		return orgMSCId;
	}
	public void setOrgMSCId(String orgMSCId) {
		this.orgMSCId = orgMSCId;
	}
	public String getGlobalAreaID() {
		return globalAreaID;
	}
	public void setGlobalAreaID(String globalAreaID) {
		this.globalAreaID = globalAreaID;
	}
	public String getSubscriberCategory() {
		return subscriberCategory;
	}
	public void setSubscriberCategory(String subscriberCategory) {
		this.subscriberCategory = subscriberCategory;
	}
	public String getFirstmccmnc() {
		return firstmccmnc;
	}
	public void setFirstmccmnc(String firstmccmnc) {
		this.firstmccmnc = firstmccmnc;
	}
	public String getbCategory() {
		return bCategory;
	}
	public void setbCategory(String bCategory) {
		this.bCategory = bCategory;
	}
	public String getCallType() {
		return callType;
	}
	public void setCallType(String callType) {
		this.callType = callType;
	}



	
	public boolean validate() {
		boolean isValid=true;
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getRecordType());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getServedIMSI());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getRecordingEntity());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getMscIncomingROUTE());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getMscOutgoingROUTE());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getLocation());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getBasicService());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getMsClassmark());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getRadioChanRequested());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getRadioChanUsed());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getCauseForTerm());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getDiagnostics());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getAdditionalChgInfo());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getNetworkCallReference());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getmSCAddress());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getSpeechVersionSupported());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getSpeechVersionUsed());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getSystemType());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getChargedParty());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getOrgRNCorBSCId());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getOrgMSCId());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getGlobalAreaID());
		}
		if(isValid) {
			isValid=!StringUtil.isEmpty(this.getFirstmccmnc());
		}
		return isValid;
	}
}
